# 随机种子
SEED = 0

# 模型
MODEL = "Qwen/Qwen2.5-Coder-0.5B"  # 基础模型

# 数据集
DATASET = r"/app/train_qwen2.5-coder/dataset/train_cpp_h.json"  # 训练集
DATA_COLUMN = "content"  # 包含代码内容的列名

# 输出目录
OUTPUT_DIR = "train_model/qwen2.5-coder-cpp-h"  # 输出目录

# 训练参数
SEQ_LENGTH = 2048  # 序列长度
MAX_STEPS = 100000  # 最大训练步数
BATCH_SIZE = 8  # 批量大小
GR_ACC_STEPS = 8  # 梯度累积步数
LR = 5e-5  # 学习率
LR_SCHEDULER_TYPE = "cosine"  # 学习率调度器类型
WEIGHT_DECAY = 0.01  # 权重衰减系数
NUM_WARMUP_STEPS = 30  # 热身步数
EVAL_FREQ = 100  # 评估频率
SAVE_FREQ = 100  # 保存频率
LOG_FREQ = 100  # 日志记录频率
BF16 = True  # 是否使用bf16精度
FP16 = False  # 是否使用fp16精度
FIM_RATE = 0.5  # FIM变换率
FIM_SPM_RATE = 0.5  # FIM SPM变换率
LORA_R = 8  # LoRA的r参数
LORA_ALPHA = 32  # LoRA的alpha参数
LORA_DROPOUT = 0.0  # LoRA的dropout率
USE_NESTED_QUANT = True  # 是否使用嵌套量化
BNB_4BIT_COMPUTE_DTYPE = "bfloat16"  # 4位量化计算的数据类型